{php}$title= '用户管理';{/php}
{include file="layout/header"}
<!--页面主要内容-->
<main class="lyear-layout-content">
    <div class="container-fluid p-t-15">
        <div class="row">
            <div class="col-lg-12">
                <div class="card">
                    <div class="card-body">
                        <div id="toolbar" class="toolbar-btn-action">
                            <button type="button" data-toggle="modal" data-target="#exampleModal"
                                class="btn btn-label btn-primary m-r-5">
                                <label><i class="mdi mdi-plus" aria-hidden="true"></i></label>新增
                            </button>
                            <button id="btn_edit" type="button" class="btn btn-label btn-success m-r-5">
                                <label><i class="mdi mdi-check" aria-hidden="true"></i></label>启用
                            </button>
                            <button id="btn_down" type="button" class="btn btn-label btn-warning m-r-5">
                                <label><i class="mdi mdi-block-helper" aria-hidden="true"></i></label>禁用
                            </button>
                            <button id="btn_delete" type="button" class="btn btn-label btn-danger">
                                <label><i class="mdi mdi-window-close" aria-hidden="true"></i></label>删除
                            </button>
                        </div>

                        <div class="input-group">
                            <div class="form-group col-lg-4">
                                <input type="text" id="searchusername" class="form-control" placeholder="用户账号">
                            </div>
                            
                            <div class="form-group col-lg-4">
                                <select class="form-control" id="ipaddress">
                                    <option value="">是否显示ip位置(默认不显示)</option>
                                    <option value="1">显示</option>
                                    <option value="2">不显示</option>
                                </select>
                            </div>
                                <input type="button" id="search_btn" class="input-group-text" value="查询">
                        </div>

                        <table id="tb_departments"></table>
                    </div>
                </div>
            </div>
            <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
                aria-hidden="true">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h6 class="modal-title" id="exampleModalLabel">新增用户</h6>
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                        </div>
                        <div class="modal-body">
                            <div class="form-group">
                                <label for="username">用户名</label>
                                <input type="text" class="form-control" id="username" placeholder="请输入用户名">
                            </div>
                            <div class="form-group">
                                <label for="password">用户密码</label>
                                <input type="text" class="form-control" id="password" placeholder="请输入用户密码">
                            </div>
                            <div class="form-group">
                                <label for="useremail">用户邮箱</label>
                                <input type="email" class="form-control" id="useremail" placeholder="请输入用户邮箱">
                            </div>
                            <div class="form-group">
                                <label for="appid">appid</label>
                                <input type="text" class="form-control" id="appid" placeholder="请输入应用id">
                            </div>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-secondary" id="shutdown"
                                data-dismiss="modal">关闭</button>
                            <button type="button" id="addbtn" onclick="adduser()"
                                class="btn btn-w-sm btn-primary">保存</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</main>
<!--End 页面主要内容-->
</div>
</div>
{include file="layout/footer"}
<script>
    $('#tb_departments').bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: "{:url('user/GetUserlist')}",
        method: 'get',
        dataType: 'json',
        uniqueId: 'id',
        idField: 'id',             // 每行的唯一标识字段
        toolbar: '#toolbar',       // 工具按钮容器
        clickToSelect: true,     // 是否启用点击选中行
        showColumns: true,         // 是否显示所有的列
        showRefresh: true,         // 是否显示刷新按钮

        showToggle: true,        // 是否显示详细视图和列表视图的切换按钮(clickToSelect同时设置为true时点击会报错)

        pagination: true,                    // 是否显示分页
        sortOrder: "desc",                    // 排序方式
        queryParams: function (params) {
            var temp = {
                limit: params.limit,         // 每页数据量
                //offset: params.offset,       // sql语句起始索引
                page: (params.offset / params.limit) + 1,
                sort: params.sort,           // 排序的列名
                sortOrder: params.order,      // 排序方式'asc' 'desc'
                username: $.trim($('#searchusername').val()),
            };
            return temp;
        },                                   // 传递参数
        sidePagination: "server",            // 分页方式：client客户端分页，server服务端分页
        pageNumber: 1,                       // 初始化加载第一页，默认第一页
        pageSize: 10,                        // 每页的记录行数
        pageList: [10, 25, 50, 100],         // 可供选择的每页的行数
        //search: true,                      // 是否显示表格搜索，此搜索是客户端搜索

        showExport: true,        // 是否显示导出按钮, 导出功能需要导出插件支持(tableexport.min.js)
        exportDataType: "basic", // 导出数据类型, 'basic':当前页, 'all':所有数据, 'selected':选中的数据

        columns: [{
            field: 'example',
            checkbox: true    // 是否显示复选框
        }, {
            field: 'id',
            title: 'id',
            sortable: true    // 是否排序
        }, {
            field: 'username',
            title: '用户名',
        }, {
            field: 'usertx',
            title: '用户头像',
            formatter: function (value, row, index) {
                value = "<img src='" + row.usertx + "' style='width:50px;height:50px;border-radius: 15px;'/>";
                return value;
            }
        }, {
            field: 'nickname',
            title: '昵称'
        }, {
            field: 'appname',
            title: '应用名称',
        }, {
            field: 'useremail',
            title: '邮箱'
        }, {
            field: 'creattime',
            title: '创建时间',
            sortable: true,
        }, {
            field: 'ip',
            title: '登录ip',
        }, {
            field: 'banned',
            title: '状态',
            formatter: function (value, row, index) {
                var value = "";
                if (row.banned == 'true') {
                    value = '<span class="badge badge-danger">封禁中</span>';
                } else {
                    value = '<span class="badge badge-success">正常</span>';
                }
                return value;
            }
        }, {
            field: 'operate',
            title: '操作',
            formatter: btnGroup,  // 自定义方法
            events: {
                'click .edit-btn': function (event, value, row, index) {
                    window.location.href = "{:url('user/queryuser')}?id=" + row.id;
                },
                'click .del-btn': function (event, value, row, index) {
                    deleteuser(row.id);
                }
            }
        }],
        onLoadSuccess: function (data) {
            $("[data-toggle='tooltip']").tooltip();
        }
    });

    // 操作按钮
    function btnGroup() {
        let html =
            '<a href="#!" class="btn btn-xs btn-default m-r-5 edit-btn" title="编辑" data-toggle="tooltip"><i class="mdi mdi-pencil"></i></a>' +
            '<a href="#!" class="btn btn-xs btn-default del-btn" title="删除" data-toggle="tooltip"><i class="mdi mdi-window-close"></i></a>';
        return html;
    }

    $('#search_btn').click(function () {
        //ajax查询
        $.ajax({
            type: "POST",
            url: "{:url('user/GetUserlist')}",
            data: {
                username: $.trim($('#searchusername').val()),
                ipaddress : $.trim($('#ipaddress').val()),
            },
            dataType: "json",
            success: function (data) {
                $('#tb_departments').bootstrapTable('load', data);
            }
        });
    });

    $("#btn_edit").click(function () {
        var getnum = getnumber();
        //console.log(getnum);
        if (getnum == false) {
            return false;
        }
        //ajax修改状态
        $.ajax({
            type: "POST",
            url: "{:url('user/edittrstatus')}",
            data: {
                id: getnum
            },
            dataType: "json",
            success: function (data) {
                if (data.code == 200) {
                    $('#tb_departments').bootstrapTable('refresh');
                } else {
                    $.notify({
                        message: data.msg
                    }, {
                        placement: {
                            from: "top",
                            align: "center"
                        },
                        type: 'success'
                    });
                }
            }
        });
    });


    $("#btn_down").click(function () {
        var getnum = getnumber();
        //console.log(getnum);
        if (getnum == false) {
            return false;
        }
        //ajax修改状态
        $.ajax({
            type: "POST",
            url: "{:url('user/editfastatus')}",
            data: {
                id: getnum
            },
            dataType: "json",
            success: function (data) {
                if (data.code == 200) {
                    $('#tb_departments').bootstrapTable('refresh');
                } else {
                    $.notify({
                        message: data.msg
                    }, {
                        placement: {
                            from: "top",
                            align: "center"
                        },
                        type: 'success'
                    });
                }
            }
        });
    });
    function getnumber() {
        var selRows = $('#tb_departments').bootstrapTable("getSelections");
        if (selRows.length == 0) {
            $.notify({
                message: "请至少选择一行"
            }, {
                placement: {
                    from: "top",
                    align: "center"
                },
                // settings
                type: 'danger'
            });
            return false;
        }
        var postData = "";
        $.each(selRows, function (i) {
            postData += this.id;
            if (i < selRows.length - 1) {
                postData += ",";
            }
        });
        return postData;
    }

    function adduser() {
        $("#addbtn").attr('disable', 'true');
        var l = $("#addbtn").lyearloading({
            opacity: 0.2,
            spinnerSize: 'nm'
        });
        var username = $.trim($("#username").val());
        var password = $.trim($("#password").val());
        var useremail = $.trim($("#useremail").val());
        var appid = $.trim($("#appid").val());
        $.ajax({
            type: "POST",
            url: "{:url('user/adduser')}",
            data: {
                username: username,
                password: password,
                useremail: useremail,
                appid: appid
            },
            dataType: "json",
            success: function (data) {
                $("#shutdown").click();
                setTimeout(function () {
                    l.destroy();
                }, 1e3)
                if (data.code == 200) {
                    $.notify({
                        message: data.msg
                    }, {
                        placement: {
                            from: "top",
                            align: "center"
                        },
                        type: 'success'
                    });
                    $('#tb_departments').bootstrapTable('refresh');
                } else {
                    $.notify({
                        message: data.msg
                    }, {
                        placement: {
                            from: "top",
                            align: "center"
                        },
                        // settings
                        type: 'danger'
                    });
                }
            }
        })
    };

    function deleteuser(id) {
        //防止误删除
        var r = confirm("确定要删除吗？");
        if (r == true) {
            var l = $('body').lyearloading({
                opacity: 0.2,
                spinnerSize: 'lg',
                spinnerText: '后台处理中，请稍后...',
                textColorClass: 'text-info',
                spinnerColorClass: 'text-info'
            });
            $.ajax({
                type: "POST",
                url: "{:url('user/deleteuser')}",
                data: {
                    id: id,
                },
                dataType: "json",
                success: function (data) {
                    setTimeout(function () {
                        l.destroy();
                    }, 1e3)
                    if (data.code == 200) {
                        $.notify({
                            message: data.msg
                        }, {
                            placement: {
                                from: "top",
                                align: "center"
                            },
                            type: 'success'
                        });
                        setTimeout("location.reload();", 2000);
                    } else {
                        $.notify({
                            message: data.msg
                        }, {
                            placement: {
                                from: "top",
                                align: "center"
                            },
                            // settings
                            type: 'danger'
                        });
                    }
                },
            });
        }
    }

    $("#btn_delete").click(function () {
        var getnum = getnumber();
        //console.log(getnum);
        if (getnum == false) {
            return false;
        }
        var l = $('body').lyearloading({
            opacity: 0.2,
            spinnerSize: 'lg',
            spinnerText: '后台处理中，请稍后...',
            textColorClass: 'text-info',
            spinnerColorClass: 'text-info'
        });
        $.ajax({
            type: "POST",
            url: "{:url('user/deleteuser')}",
            data: {
                id: getnum
            },
            dataType: "json",
            success: function (data) {
                setTimeout(function () {
                    l.destroy();
                }, 1e3)
                if (data.code == 200) {
                    $.notify({
                        message: data.msg
                    }, {
                        placement: {
                            from: "top",
                            align: "center"
                        },
                        type: 'success'
                    });
                    setTimeout("location.reload();", 2000);
                } else {
                    $.notify({
                        message: data.msg
                    }, {
                        placement: {
                            from: "top",
                            align: "center"
                        },
                        type: 'danger'
                    });
                }
            },
        });
    })
</script>

</body>

</html>